#ifndef D_SCREEN_H
#define D_SCREEN_H

#include <string>

#include <helpers\game\engine.h>
#include <managers\event\event_manager.h>

using namespace DelGE::Modules::System;
using namespace DelGE::Modules::Graphics;
using namespace DelGE::Modules::Input;
using namespace DelGE::Modules::Audio;
using namespace DelGE::Managers::Event;
using namespace DelGE::Helpers::Math;

using namespace std;

namespace DelGE
{
	namespace Helpers
	{
		namespace Game
		{
			class Screen
			{
			protected:
				Engine* pEngine;

				void ChangeScreen(int iScreenIndex);
				void SwitchToFullscreen();
				void SwitchToWindowed();
				void ToggleFullscreen();
				void QuitGame();

				int ScreenWidth();
				int ScreenHeight();

			public:
				virtual void Render() = 0;
				virtual void Update(float fDelta) = 0;

				virtual void Load() = 0;
				virtual void Unload() = 0;

				void SetEngine(Engine *pEngine);
			};
		}
	}
}

#endif